﻿#pragma once

class CIParaWrapper : public CBaseWrapper
{
public:
    CIParaWrapper();

    void printSelf(char *captionUpper, int32_t deep);

    // sub_1001D040
    CIParaWrapper *init(LPVOID ipara);

    // sub_1001DD10
    CIParaWrapper *init_(LPVOID ipara);

    // sub_1001E220
    CIParaWrapper *init__(LPVOID ipara);

    // sub_10019C80
    float getIParaInitTime();

    // sub_1001D2F0
    CBaseWrapper *close(char flag);

    // sub_1001D620
    CBaseWrapper *close();

    // sub_1001C620
    int32_t getTprgUsed();

    // sub_10019BF0
    double getStopTime();

    // sub_1001D6A0
    CIParaWrapper *setStopTime(float stopTime);

    // sub_100199E0
    double getSlope();

    // sub_100199C0
    int32_t getWidth();

    // sub_10019A00
    double getDrift();

    // sub_10019A20
    PKWD_MODE getWdMode();

    // sub_10019A40
    double getTdouble();

    // sub_10019A60
    int32_t getMinHeight();

    // sub_10019A80
    int32_t getMinArea();

    // sub_10019AA0
    int32_t getTailMode();

    // sub_10019AC0
    int32_t getAutoNegative();

    // sub_10019AE0
    int32_t getShouldSens();

    // sub_10019820
    void validateWidthAndPkWidth(float rTime);

    // sub_100198D0
    int32_t validateSlopeAndpkNoise();

    // sub_10019940
    void validateWidthAndPkDrift(float scale);

    // sub_10019CA0
    CIParaWrapper *setWidth(int32_t width);

    // sub_10019CC0
    CIParaWrapper *setSlope(float slope);

    // sub_10019CE0
    CIParaWrapper *setDrift(float drift);

    // sub_10019D00
    CIParaWrapper *setTestPkWidth(float testPkWidth);

    // sub_10019D20
    CIParaWrapper *setTestPkNoise(int32_t testPkNoise);

    // sub_10019D40
    CIParaWrapper *setTestPkDrift(float testPkDrift);
};
